const readline = require('readline-sync');
//for while do...while
//**** 循环的目的：反复执行某段代码 */
// console.log('我爱你');
// console.log('我爱你');
// console.log('我爱你');

for (let i = 0; i < 10; i++) {
    console.log('I love you');
}
// for循环是一个前测试语句
// 语法：
// for循环通常跟计次有关
// for(初始化变量;条件表达式;操作表达式){
//    循环体
//}
// 1.初始化变量 就是let声明一个用于计次的变量，在循环中只执行一次
// 2.条件表达式 用来决定是否执行下一次循环，就是循环的终止条件
// 3.操作表达式 每循环最后执行的代码，用于更新计次的变量（递增或递减）
// 4.循环体 需要反复执行的代码

//1-243-243-243-243-...-2

// for (let i = 0; i < 10; i++) {
//     console.log(i);
// }

//练习：1.1+2+3+...+100
// let sum = 0;//和
// for (let i = 1; i <= 100; i++) {
//     sum += i;
// }

// console.log(sum);
/**
 * 结束条件是i<=100的范围
 * 声明用来装和的变量不要写到循环体里
 * 输出语句不要写在循环体里
 */

// 2.计算200～300之间的和
// let sum = 0;
// for (let i = 200; i <= 300; i++) {
//     sum += i;
// }
// console.log(sum);

// 3.计算1 + 1 / 2 + 1 / 3 +...+1 / 100
// let sum = 0;
// for (let i = 1; i <= 100; i++) {
//     sum += 1 / i
// }
// console.log(sum);

// 4.用户输入一个正整数，分别计算1到这个数的和 和 积；
//5 1+2+3+4+5  1*2*3*4*5
// let sum = 0, ji = 1;
// console.log('请输入一个正整数');
// let num = readline.question() - 0;
// for (let i = 1; i <= num; i++) {
//     sum += i;
//     ji *= i;
// }
// for (let i = num; i >= 1; i--) {
//     sum += i;
//     ji *= i;
// }
// console.log(sum, ji);

//5.找出1～100之间能被7整除或尾数是7的数，并统计有多少个
// let count = 0;//个数
// for (let i = 1; i <= 100; i++) {
//     if (i % 7 == 0 || i % 10 == 7) {
//         console.log(i);
//         count++;
//     }
// }
// console.log('一共有'+count+'个');

// 6.计算1～100的奇数和 和 偶数和
// let sum1 = 0; sum2 = 0;
// for (let i = 0; i <= 100; i++) {
//     if (i % 2 == 0) {//是偶数
//         sum1 += i
//     } else {//是奇数
//         sum2 += i;
//     }
// }
// console.log(sum1,sum2);
// 7.找出2000～3000年间的平年
// for (let i = 2000; i <= 3000; i++) {
//     //判断闰年的条件取反，即为平年
//     if (!(i % 4 == 0 && i % 100 != 0 || i % 400 == 0)) {
//         console.log(i);
//     }
// }

// 8.用户输入一个数，判断是否是质数 只能被1和它本身整除
// console.log('请输入一个大于1的整数');
// let num = readline.question() - 0;
//537  1 2  3  4
//16  1 +1+1+1+1
// let count = 0;//计整除次数
// let flag = false;
// for (let i = 2; i < num; i++) {
//     console.log(i);
//     if (num % i == 0) {
//         // count++;
//         flag = true;
//         break;//结束循环
//     }

// }
// if (count > 0) {
//     console.log('不是质数');
// } else {
//     console.log('是质数');
// }
// if (flag) {
//     console.log('不是质数');
// } else {
//     console.log('是质数');
// }

// 9.打印100～200之间，3或7的的倍数，要求10个一行
// let str='';
// let count = 0;
// for (let i = 100; i <= 200; i++) {
//     if (i % 3 == 0 || i % 7 == 0) {
//         str += i + ' ';
//         count++;
//     }
//     if (count % 10 == 0) {//每十个换一次行
//         str += '\n'
//     }
// }
// console.log(str);

// 10.打印前10位非波拉契数列(兔子数列)   0 1 1 2 3 5 8 13 21 34前两位之和等于第三位
let pre = 0, next = 1, current=0, str = '';
str = pre + ',' + next+',';//先把前两项拼起来
for (let i = 0; i < 8; i++) {
    current = pre + next;//计算当前项
    str += current + ',';//拼到字符串当中
    //更新前两个值，方便下一次计算
    pre = next;
    next = current;
}
console.log(str);